/***********************************************************************
* Copyright  2023 客户公司名称
* @URL: 
* @ProjectName: 项目名称
* @Description:  批处理任务 :将客户的客户网点字段值清空
* Modification Log :
------------------------------------------------------------------------
* Developer                   Date                   Description
* ----------------------------------------------------------------------
* name				2023-10-23      NULL 
***********************************************************************/
global class ClearAccountOutletsBatch implements Database.Batchable<SObject>, Database.Stateful{

    global Database.QueryLocator start(Database.BatchableContext bc) {
        // 查询查询客户网点不为空的客户记录
        String query = 'SELECT Id, Website FROM Account WHERE Website != null';
        return Database.getQueryLocator(query);
    }

    global void execute(Database.BatchableContext BC, List<Sobject> scope) {
        // 保存要更新的Account
        List<Account> accountUpdateList = (List<Account>) scope;
        for (Account acc : accountUpdateList) {
             // 将客户网点字段值赋值为null
            acc.Website = null;
        }
        // 更新客户记录
        update accountUpdateList;
    }

    global void finish(Database.BatchableContext BC) {
        //批处理完成后要进行的操作
        System.debug('批处理作业已经完成');
    }
}